import layoutHeaderAside from '@/layout/header-aside'

// 由于懒加载页面太多的话会造成webpack热更新太慢，所以开发环境不使用懒加载，只有生产环境使用懒加载
const _import = require('@/libs/util.import.' + process.env.NODE_ENV)

/**
 * 在主框架内显示
 */
const frameIn = [
  {
    path: '/',
    redirect: { name: 'index' },
    component: layoutHeaderAside,
    children: [
      // 首页
      {
        path: 'index',
        name: 'index',
        meta: {
          auth: true
        },
        component: _import('system/index')
      },
      // 客户管理
      {
        path: 'userInfo',
        name: 'userInfo',
        meta: {
          title: '客户管理',
          auth: true
        },
        component: _import('userInfo/index.vue')
      },
      // 店铺管理
      {
        path: 'shopInfo',
        name: 'shopInfo',
        meta: {
          title: '店铺管理',
          auth: true
        },
        component: _import('shopInfo/index.vue')
      },
      // 店铺审核
      {
        path: 'shopExamine',
        name: 'shopExamine',
        meta: {
          title: '店铺审核',
          auth: true
        },
        component: _import('shopExamine/index.vue')
      },
      // 店铺审核
      {
        path: 'shopExamine',
        name: 'shopExamine',
        meta: {
          title: '店铺审核',
          auth: true
        },
        component: _import('shopExamine/index.vue')
      },
      // // 商品管理
      // {
      //   path: 'shopCommodity',
      //   name: 'shopCommodity',
      //   meta: {
      //     title: '商品管理',
      //     auth: true
      //   },
      //   component: _import('shopCommodity/index.vue')
      // },
      // 店铺账号管理
      {
        path: 'shopAccount',
        name: 'shopAccount',
        meta: {
          title: '商品管理',
          auth: true
        },
        component: _import('shopAccount/index.vue')
      },
      // 店铺类型
      {
        path: 'shopType',
        name: 'shopType',
        meta: {
          title: '店铺类型',
          auth: true
        },
        component: _import('shopType/index.vue')
      },
      // 配送员管理
      {
        path: 'deliveryInfo',
        name: 'deliveryInfo',
        meta: {
          title: '配送员管理',
          auth: true
        },
        component: _import('deliveryInfo/index.vue')
      },
      // 配送员审核
      {
        path: 'deliveryExamine',
        name: 'deliveryExamine',
        meta: {
          title: '配送员审核',
          auth: true
        },
        component: _import('deliveryExamine/index.vue')
      },
      // // 积分订单
      // {
      //   path: 'orderIntegral',
      //   name: 'orderIntegral',
      //   meta: {
      //     title: '积分订单',
      //     auth: true
      //   },
      //   component: _import('orderIntegral/index.vue')
      // },
      // 外卖订单
      {
        path: 'orderTakeaway',
        name: 'orderTakeaway',
        meta: {
          title: '外卖订单',
          auth: true
        },
        component: _import('orderTakeaway/index.vue')
      },
      // 业务流水
      {
        path: 'flowBusiness',
        name: 'flowBusiness',
        meta: {
          title: '业务流水',
          auth: true
        },
        component: _import('flowBusiness/index.vue')
      },
      // 金额流水
      {
        path: 'flowMoney',
        name: 'flowMoney',
        meta: {
          title: '金额流水',
          auth: true
        },
        component: _import('flowMoney/index.vue')
      },
      // 校园管理
      {
        path: 'comSchool',
        name: 'comSchool',
        meta: {
          title: '校园管理',
          auth: true
        },
        component: _import('comSchool/index.vue')
      },
      // 校园楼栋管理
      {
        path: 'comSchoolBuilding',
        name: 'comSchoolBuilding',
        meta: {
          title: '校园楼栋管理',
          auth: true
        },
        component: _import('comSchoolBuilding/index.vue')
      },
      // // 管理员管理
      // {
      //   path: 'comAdmin',
      //   name: 'comAdmin',
      //   meta: {
      //     title: '管理员管理',
      //     auth: true
      //   },
      //   component: _import('comAdmin/index.vue')
      // },
      // // 角色管理
      // {
      //   path: 'comRole',
      //   name: 'comRole',
      //   meta: {
      //     title: '角色管理',
      //     auth: true
      //   },
      //   component: _import('comRole/index.vue')
      // },
      // // 系统图管理
      // {
      //   path: 'banner',
      //   name: 'banner',
      //   meta: {
      //     title: '系统图管理',
      //     auth: true
      //   },
      //   component: _import('banner/index.vue')
      // },
      // // 反馈管理
      // {
      //   path: 'comFeedback',
      //   name: 'comFeedback',
      //   meta: {
      //     title: '反馈管理',
      //     auth: true
      //   },
      //   component: _import('comFeedback/index.vue')
      // },
      // 系统变量管理
      {
        path: 'systemItem',
        name: 'systemItem',
        meta: {
          title: '系统变量管理',
          auth: true
        },
        component: _import('systemItem/index.vue')
      },
      // 分销商等级规则管理
      {
        path: 'comDistributionRule',
        name: 'comDistributionRule',
        meta: {
          title: '分销商等级规则管理',
          auth: true
        },
        component: _import('comDistributionRule/index.vue')
      },
      // // 积分商品管理
      // {
      //   path: 'integralCommodity',
      //   name: 'integralCommodity',
      //   meta: {
      //     title: '积分商品管理',
      //     auth: true
      //   },
      //   component: _import('integralCommodity/index.vue')
      // },
      // // 积分商品类型管理
      // {
      //   path: 'integralCommodityType',
      //   name: 'integralCommodityType',
      //   meta: {
      //     title: '积分商品类型管理',
      //     auth: true
      //   },
      //   component: _import('integralCommodityType/index.vue')
      // },
      // // 积分兑换管理
      // {
      //   path: 'integralExchange',
      //   name: 'integralExchange',
      //   meta: {
      //     title: '积分兑换管理',
      //     auth: true
      //   },
      //   component: _import('integralExchange/index.vue')
      // },
      // 系统 前端日志
      {
        path: 'log',
        name: 'log',
        meta: {
          title: '前端日志',
          auth: true
        },
        component: _import('system/log')
      },
      // 系统 前端日志
      {
        path: 'systemItem',
        name: 'systemItem',
        meta: {
          title: '系统变量设置',
          auth: true
        },
        component: _import('systemItem/index.vue')
      },
      // 刷新页面 必须保留
      {
        path: 'refresh',
        name: 'refresh',
        hidden: true,
        component: _import('system/function/refresh')
      },
      // 页面重定向 必须保留
      {
        path: 'redirect/:route*',
        name: 'redirect',
        hidden: true,
        component: _import('system/function/redirect')
      }
    ]
  }
]

/**
 * 在主框架之外显示
 */
const frameOut = [
  // 登录
  {
    path: '/login',
    name: 'login',
    component: _import('system/login')
  }
]

/**
 * 错误页面
 */
const errorPage = [
  {
    path: '*',
    name: '404',
    component: _import('system/error/404')
  }
]

// 导出需要显示菜单的
export const frameInRoutes = frameIn

// 重新组织后导出
export default [
  ...frameIn,
  ...frameOut,
  ...errorPage
]
